/* **********************************************************************************
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
* **********************************************************************************/

using System;
using System.Collections.Generic;
using System.Text;

namespace OfficeOpenXMLInterop
{
    #region Simple Types

    [Serializable]
    public enum ST_TextTabAlignType
    {
        l,
        ctr,
        r,
        dec,
    }

    [Serializable]
    public enum ST_TextAlignType
    {
        l,
        ctr,
        r,
        just,
        justLow,
        dist,
        thaiDist,
    }

    [Serializable]
    public enum ST_TextFontAlignType
    {
        auto,
        t,
        ctr,
        @base,
        b,
    }

    #endregion

    #region Complex Types

    [Serializable]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = Namespaces.DrawingMLMain)]
    public class CT_TextSpacingPercent
    {
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int val;
    }

    [Serializable]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = Namespaces.DrawingMLMain)]
    public class CT_TextSpacingPoint
    {
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int val;
    }

    [Serializable]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = Namespaces.DrawingMLMain)]
    public class CT_TextSpacing
    {
        [System.Xml.Serialization.XmlElementAttribute("spcPct", typeof(CT_TextSpacingPercent))]
        [System.Xml.Serialization.XmlElementAttribute("spcPts", typeof(CT_TextSpacingPoint))]
        public object Item;
    }

    [Serializable]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = Namespaces.DrawingMLMain)]
    public class CT_TextTabStop
    {
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int pos;

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool posSpecified;

        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ST_TextTabAlignType algn;

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool algnSpecified;
    }

    [Serializable]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = Namespaces.DrawingMLMain)]
    public class CT_TextParagraphProperties
    {
        public CT_TextSpacing lnSpc;
        public CT_TextSpacing spcBef;
        public CT_TextSpacing spcAft;
        public CT_TextBulletColorFollowText buClrTx;
        public CT_Color buClr;
        public CT_TextBulletSizeFollowText buSzTx;
        public CT_TextBulletSizePercent buSzPct;
        public CT_TextBulletSizePoint buSzPts;
        public CT_TextBulletTypefaceFollowText buFontTx;
        public CT_TextFont buFont;
        public CT_TextNoBullet buNone;
        public CT_TextAutonumberBullet buAutoNum;
        public CT_TextCharBullet buChar;
        public CT_TextBlipBullet buBlip;
        [System.Xml.Serialization.XmlArrayItemAttribute("tab", IsNullable = false)]
        public CT_TextTabStop[] tabLst;
        public CT_TextCharacterProperties defRPr;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int marL;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool marLSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int marR;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool marRSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int lvl;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lvlSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int indent;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool indentSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ST_TextAlignType algn;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool algnSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int defTabSz;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool defTabSzSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool rtl;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool rtlSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool eaLnBrk;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool eaLnBrkSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ST_TextFontAlignType fontAlgn;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool fontAlgnSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool latinLnBrk;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool latinLnBrkSpecified;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool hangingPunct;
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool hangingPunctSpecified;
    }

    #endregion
}
